<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>simvoc.core.cluster_sim.Machine</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="simvoc-module.html">Package&nbsp;simvoc</a> ::
        <a href="simvoc.core-module.html">Package&nbsp;core</a> ::
        <a href="simvoc.core.cluster_sim-module.html">Module&nbsp;cluster_sim</a> ::
        Class&nbsp;Machine
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Machine</h1><p class="nomargin-top"><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_simvoc_c_4" name="uml_class_diagram_for_simvoc_c_4">
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#__init__" title="x.__init__(...) initializes x; see x.__class__.__doc__ for signature" alt="" coords="37,39,335,57"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#claim" title="Marks the machine as claimed for scheduling purposes" alt="" coords="37,57,335,76"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#free" title="Marks the machine as free (unclaimed) for scheduling purposes" alt="" coords="37,76,335,95"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#shut_down" title="Shuts down the machine, killing any job that happens to be running at the &#160;time." alt="" coords="37,95,335,113"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#adjust_length" title="Adjusts the length of a job based on the CPU/network consumption of the &#160;job." alt="" coords="37,113,335,132"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#add_capability" title="Adds a machine&#45;specific capability to the simulated machine (e.g." alt="" coords="37,132,335,151"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#get_capability" title="Returns: &#160;instance of an object providing a named capability, or None if this machine does not provide the requested service" alt="" coords="37,151,335,169"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#remove_capability" title="Removes a capability from this machine." alt="" coords="37,169,335,188"/>
<area shape="rect" id="node5" href="simvoc.core.cluster_sim.Machine-class.html#__str__" title="str(x)" alt="" coords="37,188,335,207"/>
<area shape="rect" id="node1" href="simvoc.core.cluster_sim.Machine-class.html" title="Simulated cluster node." alt="" coords="25,6,345,213"/>
<area shape="rect" id="node2" href="simvoc.core.virtualization.VMHost-class.html" title="Represents a physical machine that has a Virtual Machine Monitor installed and is capable of hosting virtual machines." alt="" coords="5,233,163,271"/>
<area shape="rect" id="node3" href="simvoc.core.virtualization.VirtualMachine-class.html" title="Representation of a virtual machine (guest system) *instance*." alt="" coords="192,233,389,271"/>
</map>
  <img src="uml_class_diagram_for_simvoc_c_4.gif" alt='' usemap="#uml_class_diagram_for_simvoc_c_4" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Simulated cluster node. For simulation purposes, each Machine is 
  assumed to represent a single CPU core, rather than a full computer. 
  Thus, when utilizing external trace data with the simulation system, 
  there may be a one-to-many relationship between each physical machine in 
  the trace and simulated Machine objects.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.cluster_sim.Machine-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">name</span>,
        <span class="summary-sig-arg">state_callback</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">**kwds</span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="claim"></a><span class="summary-sig-name">claim</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Marks the machine as claimed for scheduling purposes</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.claim">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="free"></a><span class="summary-sig-name">free</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Marks the machine as free (unclaimed) for scheduling purposes</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.free">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.cluster_sim.Machine-class.html#shut_down" class="summary-sig-name">shut_down</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">time</span>,
        <span class="summary-sig-arg">simobj</span>)</span><br />
      Shuts down the machine, killing any job that happens to be running at
      the time.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.shut_down">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.cluster_sim.Machine-class.html#adjust_length" class="summary-sig-name">adjust_length</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">length</span>,
        <span class="summary-sig-arg">cpu</span>,
        <span class="summary-sig-arg">net</span>)</span><br />
      Adjusts the length of a job based on the CPU/network consumption of 
      the job.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.adjust_length">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.cluster_sim.Machine-class.html#add_capability" class="summary-sig-name">add_capability</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">cap_name</span>,
        <span class="summary-sig-arg">cap_obj</span>)</span><br />
      Adds a machine-specific capability to the simulated machine (e.g.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.add_capability">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.cluster_sim.Machine-class.html#get_capability" class="summary-sig-name">get_capability</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">cap_name</span>)</span><br />
      Returns:
      instance of an object providing a named capability, or None if this 
      machine does not provide the requested service</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.get_capability">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.cluster_sim.Machine-class.html#remove_capability" class="summary-sig-name">remove_capability</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">cap_name</span>)</span><br />
      Removes a capability from this machine.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.remove_capability">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.cluster_sim.Machine-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      str(x)</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.__str__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">name</span>,
        <span class="sig-arg">state_callback</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">**kwds</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>name</code></strong> (str) - Unique name for this CPU core (str)</li>
        <li><strong class="pname"><code>state_callback</code></strong> - Callback function to invoke whenever the state of the CPU 
          changes. Two arguments are passed to the callback: a reference to
          this machine and a state code (e.g. SC_CLAIMED) from core_common.</li>
        <li><strong class="pname"><code>kwds</code></strong> - Extra data to store in the machine description</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="shut_down"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">shut_down</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">time</span>,
        <span class="sig-arg">simobj</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.shut_down">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Shuts down the machine, killing any job that happens to be running at 
  the time. This method is simulator-aware for use as an event.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>time</code></strong> (number) - Current simulated time</li>
        <li><strong class="pname"><code>simobj</code></strong> - Reference to the simulator</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="adjust_length"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">adjust_length</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">length</span>,
        <span class="sig-arg">cpu</span>,
        <span class="sig-arg">net</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.adjust_length">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Adjusts the length of a job based on the CPU/network consumption of 
  the job. This base implementation does nothing (i.e. the length remains 
  the same as the input length). Subclass Machine and override this method 
  to implement overhead simulation (e.g. for virtual machines).</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>length</code></strong> (number (non-negative)) - Current length of the job</li>
        <li><strong class="pname"><code>cpu</code></strong> (number in range 0-100) - CPU bound of the job</li>
        <li><strong class="pname"><code>net</code></strong> (number in range 0-100) - Network bound of the job (100 - cpu bound)</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>new length of the job (== length for this base implementation)</dd>
  </dl>
</td></tr></table>
</div>
<a name="add_capability"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_capability</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">cap_name</span>,
        <span class="sig-arg">cap_obj</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.add_capability">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Adds a machine-specific capability to the simulated machine (e.g. 
  virtualization support).</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>cap_name</code></strong> (str) - Name of the capability or service</li>
        <li><strong class="pname"><code>cap_obj</code></strong> - Instance object implementing the capability</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="get_capability"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_capability</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">cap_name</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.get_capability">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>cap_name</code></strong> (str) - Name of the capability to request</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>instance of an object providing a named capability, or None if 
          this machine does not provide the requested service</dd>
  </dl>
</td></tr></table>
</div>
<a name="remove_capability"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">remove_capability</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">cap_name</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.remove_capability">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Removes a capability from this machine. If the capability name is not 
  known, an Exception will be raised.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>cap_name</code></strong> (str) - Name of the capability to remove</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Informal representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.cluster_sim-pysrc.html#Machine.__str__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>str(x)</p>
  <dl class="fields">
    <dt>Overrides:
        object.__str__
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0 on Fri Oct 23 11:04:29 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
